Computer graphics (CG) or computer generated images (CGI) have become an integral part of today's film and video game making process. For example, performances that cannot be or may be too dangerous to be accomplished by human actors or stunt doubles may be made possible by using CG visual effects or CGI. The addition of two-dimensional (2D) or three-dimensional (3D) CGI to motion pictures, television shows, videogames or video advertisements can be done using computer-based simulations or modeling and software employing same. Examples of such include, but may not be limited to, object animation, including but not limited to characters (for example, through animated muscle, skin and fat), soft bodies, and colliding objects.
CG visual effects or CGI that are developed using computer-based simulations or models may be created using existing modeling and animation software, such as, for example, AUTODESK™, MAYA™, HOUDINI™, and others. As a further example, Digital Molecular Matter (DMM™), which is a technology available from Pixelux Entertainment, S.A. includes software to author 3D objects that have physical characteristics.
In computer-based modeling and animation, dynamic finite-element simulations may be used to obtain realistic looking, physically plausible deformations of objects. Some software packages for modeling and animation may include a solver based on a finite-element approach. A finite-element simulation may approximate a deformable solid object using a finite number of elements of finite complexity (e.g, tetrahedra or hexahedra). The positions and the deformations of these elements are controlled by nodes. By analyzing and integrating the densities of the mass and the internal and external forces over the elements, the positions and the velocities of the nodes may be simulated over time, resulting in an animation. Besides dynamic simulations, finite element methods may also be used to compute or approximate a static equilibrium, which may be used for modeling purposes.
Finite element methods and other force-based simulation methods can be tremendously important tools for animating scenes showing real-world, physically plausible behavior, for example in virtual reality applications or in computer animations for feature films. In computer graphics, surfaces or solid objects may be represented by triangle meshes, quad meshes or tetrahedral meshes, among other representations. When using finite-element simulation in the context of CGI, mesh vertices can be moved to desired positions on a frame-by-frame basis. The results of the simulation can be preferably read on a frame-by-frame basis. In conventional systems that are not based on simulation, model changes desired during animating or rendering an object may require a user to return to the geometric representation of the object and to modify the underlying geometry. This can be a meticulous, labor-intensive operation.